package Work01;

import java.util.Comparator;
import java.util.Random;
import java.util.TreeSet;

/*需求：

利用TreeSet实现以下需求：

1. 随机生成10个不同的0~50之间的整数，要求按照从小到大进行遍历。
2. 随机生成10个不同的50~100之间的整数，要求按照从大到小进行遍历。

思路分析：

TreeSet是具有排序特性的，默认按照自然排序。如果自然排序满足不了需求，可以使用自定义比较器。

需求1，可以使用自然排序实现；需求2可以使用自定义比较器实现 ,需要保证元素的唯一



答案：
*/
public class A_TreeSetTest {
    public static void main(String[] args) {
        Random random = new Random();
        TreeSet<Integer> treeSet = new TreeSet<>();//TreeSet默认排序
        for (int i = 0; i < 10; i++) { //使用循环将随机生成的数值存入集合
            Integer sum = random.nextInt(51);
            treeSet.add(sum);
        }
        for (Integer integer : treeSet) {
            System.out.print(integer + ",  ");
        }//遍历集合输出内容
        System.out.println();
        System.out.println("------------------------------------------------------------------");
        TreeSet<Integer> treeSet1 = new TreeSet<>(new Comparator<Integer>() {//使用自定义比较器实现 ,并且保证元素的唯一
            @Override
            public int compare(Integer o1, Integer o2) {
                int result = o2 - o1;//降序
                if (result == 0) {//相同时赋值给result负数 保证数值的唯一性

                }
                return result;
            }
        });

        for (int i = 0; i < 10; i++) {
            Integer num1 = random.nextInt(51) + 50;
            treeSet1.add(num1);//使用循环将随机生成的数值存入集合
        }
        for (Integer integer : treeSet1) {
            System.out.print(integer + ",  ");//遍历集合输出内容
        }
    }
}
